<?php

// 优化后的日志配置
return [
    // 默认日志记录通道
    'default' => env('log.channel', 'file'),

    // 日志记录通道列表
    'channels' => [
        'file' => [
            // 日志记录方式
            'type'           => 'File',
            // 日志保存目录
            'path'           => '',
            // 日志记录级别
            'level'          => [],
            // 单文件日志写入
            'single'         => false,
            // 独立日志级别
            'apart_level'    => [],
            // 最大日志文件数量
            'max_files'      => 0,
            // 使用JSON格式记录
            'json'           => false,
            // 日志处理
            'processor'      => null,
            // 关闭通道日志写入
            'close'          => false,
            // 日志输出格式化
            'format'         => '[%s][%s] %s',
            // 是否实时写入
            'realtime_write' => false,
        ],
        
        // 结构化日志通道
        'structured' => [
            'type'           => 'File',
            'path'           => runtime_path() . 'log' . DIRECTORY_SEPARATOR . 'structured',
            'level'          => [],
            'single'         => false,
            'apart_level'    => [],
            'max_files'      => 30,
            'json'           => true,  // 使用JSON格式
            'processor'      => null,
            'close'          => false,
            'format'         => '%s',  // 简化格式，因为已经是JSON
            'realtime_write' => true,
        ],

        // API访问日志通道
        'api_access' => [
            'type'           => 'File',
            'path'           => runtime_path() . 'log' . DIRECTORY_SEPARATOR . 'api_access',
            'level'          => ['info'],
            'single'         => false,
            'apart_level'    => [],
            'max_files'      => 30,
            'json'           => false,
            'processor'      => null,
            'close'          => false,
            'format'         => '[%s] %s',
            'realtime_write' => true,
        ],

        // 错误日志通道
        'error' => [
            'type'           => 'File',
            'path'           => runtime_path() . 'log' . DIRECTORY_SEPARATOR . 'error',
            'level'          => ['error', 'critical', 'alert', 'emergency'],
            'single'         => false,
            'apart_level'    => ['error'],
            'max_files'      => 30,
            'json'           => false,
            'processor'      => null,
            'close'          => false,
            'format'         => '[%s][%s] %s %s',
            'realtime_write' => true,
        ],

        // 调试日志通道
        'debug' => [
            'type'           => 'File',
            'path'           => runtime_path() . 'log' . DIRECTORY_SEPARATOR . 'debug',
            'level'          => ['debug'],
            'single'         => false,
            'apart_level'    => [],
            'max_files'      => 7,  // 调试日志只保留7天
            'json'           => false,
            'processor'      => null,
            'close'          => !env('APP_DEBUG', false),  // 非调试模式关闭
            'format'         => '[%s] %s',
            'realtime_write' => true,
        ],
    ],
];
